package cn.heyige.backend.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.heyige.backend.entity.AiSessionDO;

/**
 * AI会话服务接口 - 精简版
 *
 * 专注于核心AI会话管理功能，提高系统性能和可维护性
 *
 * @author CodeBuddy
 */
public interface AiSessionService extends IService<AiSessionDO> {
    
    /**
     * 根据用户ID获取AI会话列表
     *
     * @param userId 用户ID
     * @param pageNum 当前页
     * @param pageSize 页大小
     * @return AI会话列表
     */
    IPage<AiSessionDO> getSessionsByUserId(Long userId, Integer pageNum, Integer pageSize);
    
    /**
     * 创建新的AI会话
     *
     * @param userId 用户ID
     * @param title 会话标题
     * @return AI会话
     */
    AiSessionDO createSession(Long userId, String title);
    
    /**
     * 更新会话标题
     *
     * @param sessionId 会话ID
     * @param title 新标题
     * @return 是否更新成功
     */
    boolean updateSessionTitle(Integer sessionId, String title);
    
    /**
     * 删除指定会话
     *
     * @param sessionId 会话ID
     * @param userId 用户ID
     * @return 是否删除成功
     */
    boolean deleteSession(Integer sessionId, Long userId);
    
    /**
     * 删除用户的所有会话
     *
     * @param userId 用户ID
     * @return 是否删除成功
     */
    boolean deleteSessionsByUserId(Long userId);
}
